package Vista;

import Entidades.Empresa;
import Entidades.PantallaAplicacion;
import Logica.LogicaAplicacion;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.regex.Pattern;
import javax.swing.JOptionPane;

/**
 *
 * @author Puma
 */
public class Presentacion extends javax.swing.JFrame{

    private Boolean inicio = true;
    private Thread t;
    private int minutos = 0, segundos = 0, horas = 0;
    private Pattern patron = Pattern.compile("^[JV]-\\d{8}-\\d$");

    /** Creates new form Presentacion */
    public Presentacion() {
        initComponents();     
        jTOtroCargo.setEnabled(false);
    }
    
    public Presentacion(Empresa e) {
        initComponents();    
        jTNombreEmpresa.setText(e.getNombreEmpresa());
        JTRIFEmpresa.setText(e.getRifEmpresa());
        JTRIFEmpresa.setText(e.getRifEmpresa());        
    }
    
    private Boolean seLogroContacto(){
        if (jCContacto.getSelectedIndex() != 2)
           return true;
        else return false;
    }
    
    private Boolean validarCampos(){
      
        if (!JTNombreEntrevistador.getText().equals("") &&
            !jTNombreEmpresa.getText().equals("") &&
            !JTRIFEmpresa.getText().equals("") && 
            jCAlernativasEntrevistado.getSelectedIndex() != 0 &&
            jCCargos.getSelectedIndex() != 0 &&
            jCContacto.getSelectedIndex() != 0) return true;
        else return false;
        
    }
    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jLayeredPane1 = new javax.swing.JLayeredPane();
        jBIniciarEntrevista = new javax.swing.JButton();
        jLayeredPane2 = new javax.swing.JLayeredPane();
        jLSponsor = new javax.swing.JLabel();
        jLTitulo = new javax.swing.JLabel();
        jLLogo = new javax.swing.JLabel();
        jLabel1 = new javax.swing.JLabel();
        JTNombreEntrevistador = new javax.swing.JTextField();
        jLEmpresa = new javax.swing.JLabel();
        jTNombreEmpresa = new javax.swing.JTextField();
        jLentrevistador1 = new javax.swing.JLabel();
        JTRIFEmpresa = new javax.swing.JTextField();
        jLentrevistador = new javax.swing.JLabel();
        jCAlernativasEntrevistado = new javax.swing.JComboBox();
        jCContacto = new javax.swing.JComboBox();
        jLabel2 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();
        jCCargos = new javax.swing.JComboBox();
        jLabel3 = new javax.swing.JLabel();
        JTHoraEntrevista = new javax.swing.JTextField();
        jLentrevistador2 = new javax.swing.JLabel();
        jLEmpresa1 = new javax.swing.JLabel();
        jTFechaEntrevista = new javax.swing.JTextField();
        jLentrevistador3 = new javax.swing.JLabel();
        jLEmpresa2 = new javax.swing.JLabel();
        jLEmpresa3 = new javax.swing.JLabel();
        jTOtroCargo = new javax.swing.JTextField();
        jLabel4 = new javax.swing.JLabel();
        jCRegion = new javax.swing.JComboBox();
        jLabel6 = new javax.swing.JLabel();
        jTIDBD = new javax.swing.JTextField();
        jBEntrevistasPendientes = new javax.swing.JButton();
        jBEliminarEntrevistas = new javax.swing.JButton();
        jLFondo = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setBackground(new java.awt.Color(255, 255, 255));

        jBIniciarEntrevista.setText("Iniciar Entrevista");
        jBIniciarEntrevista.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBIniciarEntrevistaActionPerformed(evt);
            }
        });
        jBIniciarEntrevista.setBounds(500, 500, 140, 23);
        jLayeredPane1.add(jBIniciarEntrevista, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLSponsor.setText("Desarrollado para Datinvest C.A");
        jLSponsor.setBounds(110, 40, 220, 14);
        jLayeredPane2.add(jLSponsor, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLTitulo.setFont(new java.awt.Font("Tahoma", 3, 14)); // NOI18N
        jLTitulo.setText(".:: Instrumento de emprendedores ::. ");
        jLTitulo.setBounds(90, 20, 270, 14);
        jLayeredPane2.add(jLTitulo, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Vista/Imagenes/DatinvestLogo.png"))); // NOI18N
        jLLogo.setBounds(10, 10, 80, 80);
        jLayeredPane2.add(jLLogo, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel1.setText("Indique la región donde se encuentra ubicada la empresa entrevistada");
        jLabel1.setBounds(210, 230, 390, 14);
        jLayeredPane2.add(jLabel1, javax.swing.JLayeredPane.DEFAULT_LAYER);
        JTNombreEntrevistador.setBounds(240, 120, 140, 20);
        jLayeredPane2.add(JTNombreEntrevistador, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLEmpresa.setText("Nombre Empresa / Institución: ");
        jLEmpresa.setBounds(80, 150, 160, 14);
        jLayeredPane2.add(jLEmpresa, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jTNombreEmpresa.setBounds(240, 150, 140, 20);
        jLayeredPane2.add(jTNombreEmpresa, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLentrevistador1.setText("RIF:");
        jLentrevistador1.setBounds(80, 180, 130, 14);
        jLayeredPane2.add(jLentrevistador1, javax.swing.JLayeredPane.DEFAULT_LAYER);
        JTRIFEmpresa.setBounds(240, 180, 140, 20);
        jLayeredPane2.add(JTRIFEmpresa, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLentrevistador.setText("Nombre Entrevistador: ");
        jLentrevistador.setBounds(80, 120, 130, 14);
        jLayeredPane2.add(jLentrevistador, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jCAlernativasEntrevistado.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "- Seleccione", "Es otra persona", "El entrevistado" }));
        jCAlernativasEntrevistado.setBounds(290, 310, 190, 20);
        jLayeredPane2.add(jCAlernativasEntrevistado, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jCContacto.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "- Seleccione", "Logro el contacto", "No se pudo conversar con la persona", "Persona en otra sede / sucursal" }));
        jCContacto.setBounds(290, 380, 190, 20);
        jLayeredPane2.add(jCContacto, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel2.setText("¿Me podría poner en contacto con la persona que toma las decisiones en todo lo relacionado con las telecomunicaciones en la Empresa/Institución?");
        jLabel2.setBounds(30, 350, 740, 14);
        jLayeredPane2.add(jLabel2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel5.setText(" ¿Me podría decir cuál es su cargo dentro de la Empresa/Institución?");
        jLabel5.setBounds(220, 410, 440, 14);
        jLayeredPane2.add(jLabel5, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jCCargos.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Seleccione -", "VP de Tecnología", "Gerente TI", "Director de Sistemas", "Gerente de Sistemas", "Encargado de Sistemas", "Director de Informática", "Encargado de Telecomunicaciones", "Encargado de Soporte Técnico", "Gerente de Informática", "Gerente de telecomunicaciones", "Jefe de Sistemas", "Director (a)", "Administrador de Red", "Jefe de Telecomunicaciones", "Recepcionista, técnicos, secretarias", "No sabe / No contesta", "Otro:" }));
        jCCargos.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jCCargosActionPerformed(evt);
            }
        });
        jCCargos.setBounds(150, 440, 197, 20);
        jLayeredPane2.add(jCCargos, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Vista/Imagenes/lineaDivisoria.png"))); // NOI18N
        jLabel3.setText("jLabel3");
        jLabel3.setBounds(30, 210, 710, 14);
        jLayeredPane2.add(jLabel3, javax.swing.JLayeredPane.DEFAULT_LAYER);

        JTHoraEntrevista.setText("hh:mi");
        JTHoraEntrevista.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                JTHoraEntrevistaFocusGained(evt);
            }
        });
        JTHoraEntrevista.setBounds(560, 150, 100, 20);
        jLayeredPane2.add(JTHoraEntrevista, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLentrevistador2.setText("* Para usar la fecha y hora del sistema, deje en blanco estos campos");
        jLentrevistador2.setBounds(400, 190, 340, 14);
        jLayeredPane2.add(jLentrevistador2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLEmpresa1.setText("*");
        jLEmpresa1.setBounds(670, 150, 30, 10);
        jLayeredPane2.add(jLEmpresa1, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jTFechaEntrevista.setText("dd-mm-yyyy");
        jTFechaEntrevista.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTFechaEntrevistaFocusGained(evt);
            }
        });
        jTFechaEntrevista.setBounds(560, 120, 100, 20);
        jLayeredPane2.add(jTFechaEntrevista, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLentrevistador3.setText("Hora de la Entrevista:");
        jLentrevistador3.setBounds(400, 150, 130, 14);
        jLayeredPane2.add(jLentrevistador3, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLEmpresa2.setText("Fecha de la Entrevista:");
        jLEmpresa2.setBounds(400, 120, 130, 14);
        jLayeredPane2.add(jLEmpresa2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLEmpresa3.setText("*");
        jLEmpresa3.setBounds(670, 130, 30, 10);
        jLayeredPane2.add(jLEmpresa3, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jTOtroCargo.setText("- especifique -");
        jTOtroCargo.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTOtroCargoFocusGained(evt);
            }
        });
        jTOtroCargo.setBounds(370, 440, 180, 20);
        jLayeredPane2.add(jTOtroCargo, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel4.setText("¿Es usted la persona que toma las decisiones en todo lo relacionado con las telecomunicaciones en la Empresa/Institución?");
        jLabel4.setBounds(80, 280, 620, 14);
        jLayeredPane2.add(jLabel4, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jCRegion.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "- Seleccione", "Region Capital", "Region Central", "Region Centro Occidental", "Region Occidental", "Region Oriental" }));
        jCRegion.setBounds(290, 250, 190, 20);
        jLayeredPane2.add(jCRegion, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLabel6.setText("ID:");
        jLabel6.setBounds(80, 90, 15, 14);
        jLayeredPane2.add(jLabel6, javax.swing.JLayeredPane.DEFAULT_LAYER);
        jTIDBD.setBounds(240, 90, 140, 20);
        jLayeredPane2.add(jTIDBD, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLayeredPane2.setBounds(0, 10, 760, 470);
        jLayeredPane1.add(jLayeredPane2, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jBEntrevistasPendientes.setText("Entrevistas Pendientes");
        jBEntrevistasPendientes.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBEntrevistasPendientesActionPerformed(evt);
            }
        });
        jBEntrevistasPendientes.setBounds(320, 500, 170, 23);
        jLayeredPane1.add(jBEntrevistasPendientes, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jBEliminarEntrevistas.setText("Eliminar Entrevistas");
        jBEliminarEntrevistas.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBEliminarEntrevistasActionPerformed(evt);
            }
        });
        jBEliminarEntrevistas.setBounds(160, 500, 150, 23);
        jLayeredPane1.add(jBEliminarEntrevistas, javax.swing.JLayeredPane.DEFAULT_LAYER);

        jLFondo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Vista/Imagenes/fondoBlanco.png"))); // NOI18N
        jLFondo.setBounds(0, 0, 770, 540);
        jLayeredPane1.add(jLFondo, javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 763, Short.MAX_VALUE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jLayeredPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE)
        );

        setSize(new java.awt.Dimension(779, 573));
        setLocationRelativeTo(null);
    }// </editor-fold>//GEN-END:initComponents

    private void jBIniciarEntrevistaActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBIniciarEntrevistaActionPerformed
   
      if (validarCampos()){
         if (seLogroContacto()){
        
      if (jTFechaEntrevista.getText().equals("") || jTFechaEntrevista.getText().equals("dd-mm-yyyy")){
          System.out.println("Fecha del sistema!");
         LogicaAplicacion.registrarEmpresaEntrevista(new Empresa(jTNombreEmpresa.
                getText(),JTRIFEmpresa.getText(),""),
                ""+Calendar.getInstance().get(Calendar.YEAR)+"-"+"0"+
                (Calendar.getInstance().get(Calendar.MONTH)+1)+"-"+Calendar.getInstance().get(Calendar.DATE)
                );
      }
      else 
      {
          System.out.println("Fecha del tb");
          LogicaAplicacion.registrarEmpresaEntrevista(new Empresa(jTNombreEmpresa.
                getText(),JTRIFEmpresa.getText(),""),
                jTFechaEntrevista.getText().split("-")[2]+"-"
                +jTFechaEntrevista.getText().split("-")[1]+"-"
                +jTFechaEntrevista.getText().split("-")[0]);
      }
        
        LogicaAplicacion.setYd(jCAlernativasEntrevistado.getSelectedIndex());
        LogicaAplicacion.setYe(jCContacto.getSelectedIndex());
        
      if (!this.jCCargos.getSelectedItem().toString().equals("Otro:"))
        LogicaAplicacion.setYfa(jCCargos.getSelectedIndex());
         else 
          LogicaAplicacion.setYfa(17);
        
         
     LogicaAplicacion.setYg(jCRegion.getSelectedIndex());
             System.out.println(jCRegion.getSelectedIndex());
     
     LogicaAplicacion.setId(Integer.parseInt(jTIDBD.getText()));
     
     if (JTHoraEntrevista.getText().equals("") || JTHoraEntrevista.getText().equals("hh:mi")){
         System.out.println("Hora del sistema!");
        LogicaAplicacion.setHoraInicioEntrevista(""+Calendar.getInstance().
               get(Calendar.HOUR_OF_DAY)+":"+Calendar.getInstance().get(Calendar.MINUTE));
     }
     else {
         System.out.println("Hora que este en el tb");
         LogicaAplicacion.setHoraInicioEntrevista(JTHoraEntrevista.getText());
     }
        inicio = false;
        InicioEntrevista v = new InicioEntrevista(minutos,segundos,horas);
        LogicaAplicacion.setPantallasAplicacion(new ArrayList<PantallaAplicacion>());
        v.setVisible(true);
        this.dispose();
     }
    else {
        JOptionPane.showMessageDialog(null,"Debe registrar la entrevista como "
                + "pendiente","Advertencia",JOptionPane.INFORMATION_MESSAGE);
        EntrevistasPendientes v = new EntrevistasPendientes(new Empresa(jTNombreEmpresa.
                getText(),JTRIFEmpresa.getText(),""));
        v.setVisible(true);
        this.dispose();
     }
    }
    else {
       JOptionPane.showMessageDialog(null,"Verifique los datos suministrados "
                + "en el registro","Error",JOptionPane.ERROR_MESSAGE); 
    }
       
    }//GEN-LAST:event_jBIniciarEntrevistaActionPerformed

    private void jCCargosActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCCargosActionPerformed
        if (this.jCCargos.getSelectedItem().toString().equals("Otro:"))
            jTOtroCargo.setEnabled(true);
        else jTOtroCargo.setEnabled(false);
    }//GEN-LAST:event_jCCargosActionPerformed

    private void jBEntrevistasPendientesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBEntrevistasPendientesActionPerformed
       EntrevistasPendientes v = new EntrevistasPendientes();
       v.setVisible(true);
       this.dispose();
    }//GEN-LAST:event_jBEntrevistasPendientesActionPerformed

    private void jTFechaEntrevistaFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTFechaEntrevistaFocusGained
       jTFechaEntrevista.setText("");
    }//GEN-LAST:event_jTFechaEntrevistaFocusGained

    private void JTHoraEntrevistaFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_JTHoraEntrevistaFocusGained
        JTHoraEntrevista.setText("");
    }//GEN-LAST:event_JTHoraEntrevistaFocusGained

    private void jBEliminarEntrevistasActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBEliminarEntrevistasActionPerformed
        LogicaAplicacion.eliminarEncuestaBD(JOptionPane.showInputDialog("Ingrese el ID de la entrevista a eliminar"));
        JOptionPane.showMessageDialog(null,"Encuesta eliminada exitosamente");
    }//GEN-LAST:event_jBEliminarEntrevistasActionPerformed

    private void jTOtroCargoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTOtroCargoFocusGained
        jTOtroCargo.setText("");
    }//GEN-LAST:event_jTOtroCargoFocusGained

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Presentacion().setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JTextField JTHoraEntrevista;
    private javax.swing.JTextField JTNombreEntrevistador;
    private javax.swing.JTextField JTRIFEmpresa;
    private javax.swing.JButton jBEliminarEntrevistas;
    private javax.swing.JButton jBEntrevistasPendientes;
    private javax.swing.JButton jBIniciarEntrevista;
    private javax.swing.JComboBox jCAlernativasEntrevistado;
    private javax.swing.JComboBox jCCargos;
    private javax.swing.JComboBox jCContacto;
    private javax.swing.JComboBox jCRegion;
    private javax.swing.JLabel jLEmpresa;
    private javax.swing.JLabel jLEmpresa1;
    private javax.swing.JLabel jLEmpresa2;
    private javax.swing.JLabel jLEmpresa3;
    private javax.swing.JLabel jLFondo;
    private javax.swing.JLabel jLLogo;
    private javax.swing.JLabel jLSponsor;
    private javax.swing.JLabel jLTitulo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JLabel jLabel6;
    private javax.swing.JLayeredPane jLayeredPane1;
    private javax.swing.JLayeredPane jLayeredPane2;
    private javax.swing.JLabel jLentrevistador;
    private javax.swing.JLabel jLentrevistador1;
    private javax.swing.JLabel jLentrevistador2;
    private javax.swing.JLabel jLentrevistador3;
    private javax.swing.JTextField jTFechaEntrevista;
    private javax.swing.JTextField jTIDBD;
    private javax.swing.JTextField jTNombreEmpresa;
    private javax.swing.JTextField jTOtroCargo;
    // End of variables declaration//GEN-END:variables

}
